package com.sanqi.work.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sanqi.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sanqi.common.core.domain.BaseEntity;

/**
 * 绩效考核配置对象 work_scoring_conf
 * 
 * @author duany
 * @date 2025-09-30
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("work_scoring_conf")
public class WorkScoringConf extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /** 级别 */
    @Excel(name = "级别")
    @TableField(value="conf_level")
    private String confLevel;

    /** 分值 */
    @Excel(name = "分值")
    @TableField(value="score_point")
    private Long scorePoint;

    /** 分值类型 对应字典 score_conf_type*/
    @Excel(name = "分值类型")
    @TableField(value="score_type")
    private String scoreType;

    /** 总项 对应字典 work_scor_conf_item*/
    @Excel(name = "总项")
    @TableField(value="top_item")
    private String topItem;

    /** 分项 */
    @Excel(name = "分项")
    @TableField(value="sub_item")
    private String subItem;

    /** 计分规则 */
    @Excel(name = "计分规则")
    @TableField(value="scoring_rules")
    private String scoringRules;

    /** 规则类型 */
    @Excel(name = "规则类型")
    @TableField(value="rule_type")
    private String ruleType;

    /** 对照条目 */
    @Excel(name = "对照条目")
    @TableField(value="matching_item")
    private String matchingItem;

    /** 标题 */
    @Excel(name = "标题")
    @TableField(value="conf_title")
    private String confTitle;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setConfLevel(String confLevel) 
    {
        this.confLevel = confLevel;
    }

    public String getConfLevel() 
    {
        return confLevel;
    }

    public void setScorePoint(Long scorePoint) 
    {
        this.scorePoint = scorePoint;
    }

    public Long getScorePoint() 
    {
        return scorePoint;
    }

    public void setScoreType(String scoreType) 
    {
        this.scoreType = scoreType;
    }

    public String getScoreType() 
    {
        return scoreType;
    }

    public void setTopItem(String topItem) 
    {
        this.topItem = topItem;
    }

    public String getTopItem() 
    {
        return topItem;
    }

    public void setSubItem(String subItem) 
    {
        this.subItem = subItem;
    }

    public String getSubItem() 
    {
        return subItem;
    }

    public void setScoringRules(String scoringRules) 
    {
        this.scoringRules = scoringRules;
    }

    public String getScoringRules() 
    {
        return scoringRules;
    }

    public void setRuleType(String ruleType) 
    {
        this.ruleType = ruleType;
    }

    public String getRuleType() 
    {
        return ruleType;
    }

    public void setMatchingItem(String matchingItem) 
    {
        this.matchingItem = matchingItem;
    }

    public String getMatchingItem() 
    {
        return matchingItem;
    }

    public void setConfTitle(String confTitle) 
    {
        this.confTitle = confTitle;
    }

    public String getConfTitle() 
    {
        return confTitle;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("remark", getRemark())
            .append("confLevel", getConfLevel())
            .append("scorePoint", getScorePoint())
            .append("scoreType", getScoreType())
            .append("topItem", getTopItem())
            .append("subItem", getSubItem())
            .append("scoringRules", getScoringRules())
            .append("ruleType", getRuleType())
            .append("matchingItem", getMatchingItem())
            .append("confTitle", getConfTitle())
            .toString();
    }
}
